在投資的世界裡,有一句話叫做 「一圖勝千言」。
每天股市新聞與數據量龐大,如果只是單純看表格或文字,常常會陷入「看得懂每個數字,卻抓不到整體趨勢」的困境。
這時候,就該讓 AI 來幫我們 自動生成圖表,把複雜的數據轉換成直觀的線條圖並讓 AI 來幫我們解讀。
趨勢一眼看出:不用逐筆數字比較,直接看到股價的漲跌走勢。
多維度整合:股價、成交量、技術指標(如 RSI、MACD)都能同時放在一張圖上。
自動更新:不必每天手動整理 Excel,只要一鍵呼叫程式,圖表就能即時生成。
減少誤讀:數字看錯很常見,但圖像化能降低誤判的機率。
python
import yfinance as yf
import pandas as pd
# 下載台積電 (2330.TW) 的股價
ticker = "2330.TW"
data = yf.download(ticker, start="2024-01-01", end="2024-08-01")
print(data.head())
執行結果:
在這之前因為要在圖表上有繁體中文,避免像我多次嘗試都是方框框,所以要先去 notofonts 的 github 下載字體,並且上傳到資料裡。
python
import yfinance as yf
import mplfinance as mpf
import matplotlib.pyplot as plt
from matplotlib import font_manager
# === 指定字體 ===
my_font = font_manager.FontProperties(fname="NotoSerifCJKtc-Regular.otf")
# === 抓取台積電股價 ===
ticker = "2330.TW"
tsmc = yf.Ticker(ticker)
data = tsmc.history(period="6mo")
# === 計算均線 ===
data['MA20'] = data['Close'].rolling(window=20).mean()
data['MA60'] = data['Close'].rolling(window=60).mean()
# === 畫 K 線圖,回傳 fig 和 axes ===
fig, axes = mpf.plot(
data,
type='candle',
mav=(20, 60),
volume=True,
style="yahoo",
returnfig=True
)
# === 手動加標題(確保用中文字體) ===
axes[0].set_title(f"{ticker} 股價走勢", fontproperties=my_font)
plt.show()
執行結果:
圖畫出來了,但對新手來說還是「一堆線」。
這時候就要讓 AI 來說人話!
我們把數據摘要整理,再丟給 Gemini 分析:
python
!pip install -q ta
import google.generativeai as genai
import yfinance as yf
import pandas as pd
import ta
# 設定 Gemini
genai.configure(api_key="YOUR_GEMINI_API_KEY")
model = genai.GenerativeModel("gemini-2.5-flash")
# === 抓取台積電股價 ===
ticker = "2330.TW"
tsmc = yf.Ticker(ticker)
data = tsmc.history(period="6mo")
# === 計算均線 ===
data['MA20'] = data['Close'].rolling(window=20).mean()
data['MA60'] = data['Close'].rolling(window=60).mean()
# 取近期數據摘要
recent_data = data.tail(30)[['Close', 'MA20', 'MA60']]
# 組成提示詞
prompt = f"""
以下是台積電最近 30 天的股價數據 (收盤價、20 日均線、60 日均線):
{recent_data.to_string()}
請用投資新手聽得懂的方式,解讀股價趨勢:
1. 最近股價是否突破均線?
2. 是否有支撐/壓力跡象?
3. 簡單給一個小結論。
"""
response = model.generate_content(prompt)
print(response.text)
執行結果:
今天我們學會用 yfinance 下載股價,接著使用 mplfinance 畫 K 線 + 均線 + 成交量,最後再用 Gemini 解讀趨勢,讓圖表「會說話」,整合所有資訊。
👉 明天(Day 19),既然已經能畫出單一股票的圖表,那麼下一步,就是一次性追蹤多家公司!
明天我們會示範如何讓 AI 幫你整理多檔股票的數據,並自動生成報告,省去你逐檔查資料的麻煩。